package com.atguigu.schedule.pojo;

import lombok.*;

import java.io.Serializable;
import java.util.Objects;

/*
* 1.实体类的类名和表格名称应该对应（对应不是一致）
* 2.实体类的属性名和表格的列名应该对应（对应不是一致）
* 3.每个属性都应该是私有的
* 4.每个属性都应该具备getter和setter方法
* 5.必须具备无参构造器
* 6.应该实现序列化接口（缓存，分布式项目数据传递 可能会将对象序列化）
* 7.应该重写类的hashcode和equals方法
* 8.toString是否重写都可以
*
*
* 使用lombok帮助我们实现生成这样的getter setter 全参 无参构造 equals hashcode
* 使用步骤：
*          1.检查是否安装了lombok插件
*          2.检查我们是否勾选了enable annotation processer
*          3.导入lombok的依赖
*          4.在实体类上添加注解
 */

@AllArgsConstructor//添加了全参构造
@NoArgsConstructor//添加了无参构造
@Data //getter setter equals hashcode toString
/*@Getter
@Setter
@EqualsAndHashCode
@ToString*/
public class SysUser implements Serializable {
    private Integer uid;
    private String username;
    private String userPwd;

}
/*    public SysUser() {
    }

    public SysUser(Integer id, String username, String userPwd) {
        this.id = id;
        this.username = username;
        this.userPwd = userPwd;
    }

    *//**
     * 获取
     * @return id
     *//*
    public Integer getId() {
        return id;
    }

    *//**
     * 设置
     * @param id
     *//*
    public void setId(Integer id) {
        this.id = id;
    }

    *//**
     * 获取
     * @return username
     *//*
    public String getUsername() {
        return username;
    }

    *//**
     * 设置
     * @param username
     *//*
    public void setUsername(String username) {
        this.username = username;
    }

    *//**
     * 获取
     * @return userPwd
     *//*
    public String getUserPwd() {
        return userPwd;
    }

    *//**
     * 设置
     * @param userPwd
     *//*
    public void setUserPwd(String userPwd) {
        this.userPwd = userPwd;
    }

    public String toString() {
        return "SysUser{id = " + id + ", username = " + username + ", userPwd = " + userPwd + "}";
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        SysUser sysUser = (SysUser) o;
        return Objects.equals(id, sysUser.id) && Objects.equals(username, sysUser.username) && Objects.equals(userPwd, sysUser.userPwd);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, username, userPwd);
    }*/

